using System;
using System.Collections.Generic;
using System.Text;
using THSERP.BusinessEntities;
using THSERP.BaseProvider;
namespace THSERP.Modules.SaleReturn
{
    public class SaleReturnItemsEntity : ERPModuleItemsEntity
    {
        public SaleReturnItemsEntity()
        {
        }

        #region Variables
        protected int _aRSaleReturnItemID;
        protected String _aAStatus = DefaultAAStatus;
        protected int _fK_ARSaleReturnID;
        protected int _fK_ARInvoiceID;
        protected int _fK_ARInvoiceItemID;
        protected int _fK_ICDepartmentID;
        protected int _fK_ICProductGroupID;
        protected int _fK_ICProductID;
        protected int _fK_ICProductAttributeID;
        protected int _fK_ICStockID;
        protected int _fK_ICStockSlotID;
        protected String _aRSaleReturnItemProductSerialNo = String.Empty;
        protected String _aRSaleReturnItemProductAttribute = String.Empty;
        protected String _aRSaleReturnItemProductType = String.Empty;
        protected int _aRSaleReturnItemSortOrder;
        protected String _aRSaleReturnItemProductName = String.Empty;
        protected String _aRSaleReturnItemProductDesc = String.Empty;
        protected String _aRSaleReturnItemProductSellUnit = String.Empty;
        protected String _aRSaleReturnItemProductBasicUnit = String.Empty;
        protected String _aRSaleReturnItemProductPackagingUnit = String.Empty;
        protected double _aRSaleReturnItemProductSellFactor;
        protected double _aRSaleReturnItemProductPackagingFactor;
        protected double _aRSaleReturnItemProductUnitPrice;
        protected double _aRSaleReturnItemProductInternalUnitPrice;
        protected double _aRSaleReturnItemProductUnitCost;
        protected double _aRSaleReturnItemProductGroupDiscount;
        protected double _aRSaleReturnItemProductDiscount;
        protected double _aRSaleReturnItemProductTaxPercent;
        protected double _aRSaleReturnItemProductQtyOld;
        protected double _aRSaleReturnItemProductQty;
        protected double _aRSaleReturnItemProductBasicQty;
        protected double _aRSaleReturnItemProductPakagingQty;
        protected double _aRSaleReturnItemQty1;
        protected double _aRSaleReturnItemQty2;
        protected double _aRSaleReturnItemQty3;
        protected double _aRSaleReturnItemQty4;
        protected double _aRSaleReturnItemQty5;
        protected double _aRSaleReturnItemQty6;
        protected String _aRSaleReturnItemComment = String.Empty;
        protected double _aRSaleReturnItemUnitVolumn;
        protected double _aRSaleReturnItemUnitWeight;
        protected double _aRSaleReturnItemPrice;
        protected double _aRSaleReturnItemInternalPrice;
        protected double _aRSaleReturnItemTaxAmount;
        protected double _aRSaleReturnItemDiscountAmount;
        protected double _aRSaleReturnItemNetAmount;
        protected double _aRSaleReturnItemTotalAmount;
        protected double _aRSaleReturnItemTotalCost;

        //Extra variables
        protected byte[] _aRSaleReturnItemProductPicture;
        #endregion

        #region Public properties
        public int ARSaleReturnItemID
        {
            get { return _aRSaleReturnItemID; }
            set
            {
                if (value != this._aRSaleReturnItemID)
                {
                    _aRSaleReturnItemID = value;
                    NotifyChanged("ARSaleReturnItemID");
                }
            }
        }
        public String AAStatus
        {
            get { return _aAStatus; }
            set
            {
                if (value != this._aAStatus)
                {
                    _aAStatus = value;
                    NotifyChanged("AAStatus");
                }
            }
        }
        public int FK_ARSaleReturnID
        {
            get { return _fK_ARSaleReturnID; }
            set
            {
                if (value != this._fK_ARSaleReturnID)
                {
                    _fK_ARSaleReturnID = value;
                    NotifyChanged("FK_ARSaleReturnID");
                }
            }
        }
        public int FK_ARInvoiceID
        {
            get { return _fK_ARInvoiceID; }
            set
            {
                if (value != this._fK_ARInvoiceID)
                {
                    _fK_ARInvoiceID = value;
                    NotifyChanged("FK_ARInvoiceID");
                }
            }
        }
        public int FK_ARInvoiceItemID
        {
            get { return _fK_ARInvoiceItemID; }
            set
            {
                if (value != this._fK_ARInvoiceItemID)
                {
                    _fK_ARInvoiceItemID = value;
                    NotifyChanged("FK_ARInvoiceItemID");
                }
            }
        }
        public int FK_ICDepartmentID
        {
            get { return _fK_ICDepartmentID; }
            set
            {
                if (value != this._fK_ICDepartmentID)
                {
                    _fK_ICDepartmentID = value;
                    NotifyChanged("FK_ICDepartmentID");
                }
            }
        }
        public int FK_ICProductGroupID
        {
            get { return _fK_ICProductGroupID; }
            set
            {
                if (value != this._fK_ICProductGroupID)
                {
                    _fK_ICProductGroupID = value;
                    NotifyChanged("FK_ICProductGroupID");
                }
            }
        }
        public int FK_ICProductID
        {
            get { return _fK_ICProductID; }
            set
            {
                if (value != this._fK_ICProductID)
                {
                    _fK_ICProductID = value;
                    NotifyChanged("FK_ICProductID");
                }
            }
        }
        public int FK_ICProductAttributeID
        {
            get { return _fK_ICProductAttributeID; }
            set
            {
                if (value != this._fK_ICProductAttributeID)
                {
                    _fK_ICProductAttributeID = value;
                    NotifyChanged("FK_ICProductAttributeID");
                }
            }
        }
        public int FK_ICStockID
        {
            get { return _fK_ICStockID; }
            set
            {
                if (value != this._fK_ICStockID)
                {
                    _fK_ICStockID = value;
                    NotifyChanged("FK_ICStockID");
                }
            }
        }
        public int FK_ICStockSlotID
        {
            get { return _fK_ICStockSlotID; }
            set
            {
                if (value != this._fK_ICStockSlotID)
                {
                    _fK_ICStockSlotID = value;
                    NotifyChanged("FK_ICStockSlotID");
                }
            }
        }
        public String ARSaleReturnItemProductSerialNo
        {
            get { return _aRSaleReturnItemProductSerialNo; }
            set
            {
                if (value != this._aRSaleReturnItemProductSerialNo)
                {
                    _aRSaleReturnItemProductSerialNo = value;
                    NotifyChanged("ARSaleReturnItemProductSerialNo");
                }
            }
        }
        public String ARSaleReturnItemProductAttribute
        {
            get { return _aRSaleReturnItemProductAttribute; }
            set
            {
                if (value != this._aRSaleReturnItemProductAttribute)
                {
                    _aRSaleReturnItemProductAttribute = value;
                    NotifyChanged("ARSaleReturnItemProductAttribute");
                }
            }
        }
        public String ARSaleReturnItemProductType
        {
            get { return _aRSaleReturnItemProductType; }
            set
            {
                if (value != this._aRSaleReturnItemProductType)
                {
                    _aRSaleReturnItemProductType = value;
                    NotifyChanged("ARSaleReturnItemProductType");
                }
            }
        }
        public int ARSaleReturnItemSortOrder
        {
            get { return _aRSaleReturnItemSortOrder; }
            set
            {
                if (value != this._aRSaleReturnItemSortOrder)
                {
                    _aRSaleReturnItemSortOrder = value;
                    NotifyChanged("ARSaleReturnItemSortOrder");
                }
            }
        }
        public String ARSaleReturnItemProductName
        {
            get { return _aRSaleReturnItemProductName; }
            set
            {
                if (value != this._aRSaleReturnItemProductName)
                {
                    _aRSaleReturnItemProductName = value;
                    NotifyChanged("ARSaleReturnItemProductName");
                }
            }
        }
        public String ARSaleReturnItemProductDesc
        {
            get { return _aRSaleReturnItemProductDesc; }
            set
            {
                if (value != this._aRSaleReturnItemProductDesc)
                {
                    _aRSaleReturnItemProductDesc = value;
                    NotifyChanged("ARSaleReturnItemProductDesc");
                }
            }
        }
        public String ARSaleReturnItemProductSellUnit
        {
            get { return _aRSaleReturnItemProductSellUnit; }
            set
            {
                if (value != this._aRSaleReturnItemProductSellUnit)
                {
                    _aRSaleReturnItemProductSellUnit = value;
                    NotifyChanged("ARSaleReturnItemProductSellUnit");
                }
            }
        }
        public String ARSaleReturnItemProductBasicUnit
        {
            get { return _aRSaleReturnItemProductBasicUnit; }
            set
            {
                if (value != this._aRSaleReturnItemProductBasicUnit)
                {
                    _aRSaleReturnItemProductBasicUnit = value;
                    NotifyChanged("ARSaleReturnItemProductBasicUnit");
                }
            }
        }
        public String ARSaleReturnItemProductPackagingUnit
        {
            get { return _aRSaleReturnItemProductPackagingUnit; }
            set
            {
                if (value != this._aRSaleReturnItemProductPackagingUnit)
                {
                    _aRSaleReturnItemProductPackagingUnit = value;
                    NotifyChanged("ARSaleReturnItemProductPackagingUnit");
                }
            }
        }
        public double ARSaleReturnItemProductSellFactor
        {
            get { return _aRSaleReturnItemProductSellFactor; }
            set
            {
                if (value != this._aRSaleReturnItemProductSellFactor)
                {
                    _aRSaleReturnItemProductSellFactor = value;
                    NotifyChanged("ARSaleReturnItemProductSellFactor");
                }
            }
        }
        public double ARSaleReturnItemProductPackagingFactor
        {
            get { return _aRSaleReturnItemProductPackagingFactor; }
            set
            {
                if (value != this._aRSaleReturnItemProductPackagingFactor)
                {
                    _aRSaleReturnItemProductPackagingFactor = value;
                    NotifyChanged("ARSaleReturnItemProductPackagingFactor");
                }
            }
        }
        public double ARSaleReturnItemProductUnitPrice
        {
            get { return _aRSaleReturnItemProductUnitPrice; }
            set
            {
                if (value != this._aRSaleReturnItemProductUnitPrice)
                {
                    _aRSaleReturnItemProductUnitPrice = value;
                    NotifyChanged("ARSaleReturnItemProductUnitPrice");
                }
            }
        }
        public double ARSaleReturnItemProductInternalUnitPrice
        {
            get { return _aRSaleReturnItemProductInternalUnitPrice; }
            set
            {
                if (value != this._aRSaleReturnItemProductInternalUnitPrice)
                {
                    _aRSaleReturnItemProductInternalUnitPrice = value;
                    NotifyChanged("ARSaleReturnItemProductInternalUnitPrice");
                }
            }
        }
        public double ARSaleReturnItemProductUnitCost
        {
            get { return _aRSaleReturnItemProductUnitCost; }
            set
            {
                if (value != this._aRSaleReturnItemProductUnitCost)
                {
                    _aRSaleReturnItemProductUnitCost = value;
                    NotifyChanged("ARSaleReturnItemProductUnitCost");
                }
            }
        }
        public double ARSaleReturnItemProductGroupDiscount
        {
            get { return _aRSaleReturnItemProductGroupDiscount; }
            set
            {
                if (value != this._aRSaleReturnItemProductGroupDiscount)
                {
                    _aRSaleReturnItemProductGroupDiscount = value;
                    NotifyChanged("ARSaleReturnItemProductGroupDiscount");
                }
            }
        }
        public double ARSaleReturnItemProductDiscount
        {
            get { return _aRSaleReturnItemProductDiscount; }
            set
            {
                if (value != this._aRSaleReturnItemProductDiscount)
                {
                    _aRSaleReturnItemProductDiscount = value;
                    NotifyChanged("ARSaleReturnItemProductDiscount");
                }
            }
        }
        public double ARSaleReturnItemProductTaxPercent
        {
            get { return _aRSaleReturnItemProductTaxPercent; }
            set
            {
                if (value != this._aRSaleReturnItemProductTaxPercent)
                {
                    _aRSaleReturnItemProductTaxPercent = value;
                    NotifyChanged("ARSaleReturnItemProductTaxPercent");
                }
            }
        }
        public double ARSaleReturnItemProductQtyOld
        {
            get { return _aRSaleReturnItemProductQtyOld; }
            set
            {
                if (value != this._aRSaleReturnItemProductQtyOld)
                {
                    _aRSaleReturnItemProductQtyOld = value;
                    NotifyChanged("ARSaleReturnItemProductQtyOld");
                }
            }
        }
        public double ARSaleReturnItemProductQty
        {
            get { return _aRSaleReturnItemProductQty; }
            set
            {
                if (value != this._aRSaleReturnItemProductQty)
                {
                    _aRSaleReturnItemProductQty = value;
                    NotifyChanged("ARSaleReturnItemProductQty");
                }
            }
        }
        public double ARSaleReturnItemProductBasicQty
        {
            get { return _aRSaleReturnItemProductBasicQty; }
            set
            {
                if (value != this._aRSaleReturnItemProductBasicQty)
                {
                    _aRSaleReturnItemProductBasicQty = value;
                    NotifyChanged("ARSaleReturnItemProductBasicQty");
                }
            }
        }
        public double ARSaleReturnItemProductPakagingQty
        {
            get { return _aRSaleReturnItemProductPakagingQty; }
            set
            {
                if (value != this._aRSaleReturnItemProductPakagingQty)
                {
                    _aRSaleReturnItemProductPakagingQty = value;
                    NotifyChanged("ARSaleReturnItemProductPakagingQty");
                }
            }
        }
        public double ARSaleReturnItemQty1
        {
            get { return _aRSaleReturnItemQty1; }
            set
            {
                if (value != this._aRSaleReturnItemQty1)
                {
                    _aRSaleReturnItemQty1 = value;
                    NotifyChanged("ARSaleReturnItemQty1");
                }
            }
        }
        public double ARSaleReturnItemQty2
        {
            get { return _aRSaleReturnItemQty2; }
            set
            {
                if (value != this._aRSaleReturnItemQty2)
                {
                    _aRSaleReturnItemQty2 = value;
                    NotifyChanged("ARSaleReturnItemQty2");
                }
            }
        }
        public double ARSaleReturnItemQty3
        {
            get { return _aRSaleReturnItemQty3; }
            set
            {
                if (value != this._aRSaleReturnItemQty3)
                {
                    _aRSaleReturnItemQty3 = value;
                    NotifyChanged("ARSaleReturnItemQty3");
                }
            }
        }
        public double ARSaleReturnItemQty4
        {
            get { return _aRSaleReturnItemQty4; }
            set
            {
                if (value != this._aRSaleReturnItemQty4)
                {
                    _aRSaleReturnItemQty4 = value;
                    NotifyChanged("ARSaleReturnItemQty4");
                }
            }
        }
        public double ARSaleReturnItemQty5
        {
            get { return _aRSaleReturnItemQty5; }
            set
            {
                if (value != this._aRSaleReturnItemQty5)
                {
                    _aRSaleReturnItemQty5 = value;
                    NotifyChanged("ARSaleReturnItemQty5");
                }
            }
        }
        public double ARSaleReturnItemQty6
        {
            get { return _aRSaleReturnItemQty6; }
            set
            {
                if (value != this._aRSaleReturnItemQty6)
                {
                    _aRSaleReturnItemQty6 = value;
                    NotifyChanged("ARSaleReturnItemQty6");
                }
            }
        }
        public String ARSaleReturnItemComment
        {
            get { return _aRSaleReturnItemComment; }
            set
            {
                if (value != this._aRSaleReturnItemComment)
                {
                    _aRSaleReturnItemComment = value;
                    NotifyChanged("ARSaleReturnItemComment");
                }
            }
        }
        public double ARSaleReturnItemUnitVolumn
        {
            get { return _aRSaleReturnItemUnitVolumn; }
            set
            {
                if (value != this._aRSaleReturnItemUnitVolumn)
                {
                    _aRSaleReturnItemUnitVolumn = value;
                    NotifyChanged("ARSaleReturnItemUnitVolumn");
                }
            }
        }
        public double ARSaleReturnItemUnitWeight
        {
            get { return _aRSaleReturnItemUnitWeight; }
            set
            {
                if (value != this._aRSaleReturnItemUnitWeight)
                {
                    _aRSaleReturnItemUnitWeight = value;
                    NotifyChanged("ARSaleReturnItemUnitWeight");
                }
            }
        }
        public double ARSaleReturnItemPrice
        {
            get { return _aRSaleReturnItemPrice; }
            set
            {
                if (value != this._aRSaleReturnItemPrice)
                {
                    _aRSaleReturnItemPrice = value;
                    NotifyChanged("ARSaleReturnItemPrice");
                }
            }
        }
        public double ARSaleReturnItemInternalPrice
        {
            get { return _aRSaleReturnItemInternalPrice; }
            set
            {
                if (value != this._aRSaleReturnItemInternalPrice)
                {
                    _aRSaleReturnItemInternalPrice = value;
                    NotifyChanged("ARSaleReturnItemInternalPrice");
                }
            }
        }
        public double ARSaleReturnItemTaxAmount
        {
            get { return _aRSaleReturnItemTaxAmount; }
            set
            {
                if (value != this._aRSaleReturnItemTaxAmount)
                {
                    _aRSaleReturnItemTaxAmount = value;
                    NotifyChanged("ARSaleReturnItemTaxAmount");
                }
            }
        }
        public double ARSaleReturnItemDiscountAmount
        {
            get { return _aRSaleReturnItemDiscountAmount; }
            set
            {
                if (value != this._aRSaleReturnItemDiscountAmount)
                {
                    _aRSaleReturnItemDiscountAmount = value;
                    NotifyChanged("ARSaleReturnItemDiscountAmount");
                }
            }
        }
        public double ARSaleReturnItemNetAmount
        {
            get { return _aRSaleReturnItemNetAmount; }
            set
            {
                if (value != this._aRSaleReturnItemNetAmount)
                {
                    _aRSaleReturnItemNetAmount = value;
                    NotifyChanged("ARSaleReturnItemNetAmount");
                }
            }
        }
        public double ARSaleReturnItemTotalAmount
        {
            get { return _aRSaleReturnItemTotalAmount; }
            set
            {
                if (value != this._aRSaleReturnItemTotalAmount)
                {
                    _aRSaleReturnItemTotalAmount = value;
                    NotifyChanged("ARSaleReturnItemTotalAmount");
                }
            }
        }
        public double ARSaleReturnItemTotalCost
        {
            get { return _aRSaleReturnItemTotalCost; }
            set
            {
                if (value != this._aRSaleReturnItemTotalCost)
                {
                    _aRSaleReturnItemTotalCost = value;
                    NotifyChanged("ARSaleReturnItemTotalCost");
                }
            }
        }

        //Extra properties
        public byte[] ARSaleReturnItemProductPicture
        {
            get
            {
                return _aRSaleReturnItemProductPicture;
            }
            set
            {
                _aRSaleReturnItemProductPicture = value;
            }
        }
        #endregion
    }
}
